package com.xbongbong.pro.rabbitmq.binders;

import com.xbongbong.pro.rabbitmq.constant.ApiWebHookBinderConstant;
import org.springframework.cloud.stream.annotation.Output;
import org.springframework.messaging.MessageChannel;
import org.springframework.stereotype.Service;

@Service("apiWebHookConsumerBinder")
public interface ApiWebHookProducerBinder {

    /**
     * 客户
     */
//    @Input(ApiWebHookBinderConstant.API_CUSTOMER_INPUT)
//    SubscribableChannel apiCustomerInput();
    @Output(ApiWebHookBinderConstant.API_CUSTOMER_OUTPUT)
    MessageChannel apiCustomerOutput();
    /**
     * 合同
     */
//    @Input(ApiWebHookBinderConstant.API_CONTRACT_INPUT)
//    SubscribableChannel apiContractInput();
    @Output(ApiWebHookBinderConstant.API_CONTRACT_OUTPUT)
    MessageChannel apiContractOutput();
    /**
     * 机会
     */
//    @Input(ApiWebHookBinderConstant.API_OPPORTUNITY_INPUT)
//    SubscribableChannel apiOpportunityInput();
    @Output(ApiWebHookBinderConstant.API_OPPORTUNITY_OUTPUT)
    MessageChannel apiOpportunityOutput();

    /**
     * 自定义表单数据
     */
//    @Input(ApiWebHookBinderConstant.API_CUSTOM_FORM_INPUT)
//    SubscribableChannel apiCustomFormInput();
    @Output(ApiWebHookBinderConstant.API_CUSTOM_FORM_OUTPUT)
    MessageChannel apiCustomFormOutput();

    /**
     * 线索
     */
    @Output(ApiWebHookBinderConstant.API_CLUE_OUTPUT)
    MessageChannel apiClueOutput();

    /**
     * 跟进记录
     */
    @Output(ApiWebHookBinderConstant.API_CUSTOMER_COMMUNICATE_OUTPUT)
    MessageChannel apiCustomerCommunicateOutput();

    /**
     * API其他业务公用队列
     */
    @Output(ApiWebHookBinderConstant.API_COMMON_OUTPUT)
    MessageChannel apiCommonOutput();
}
